<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        /*
            reverse()用来对数组进行反转操作
                - 该方法会影响到原来数组
         */
        var arr = [1,2,3,4,5,6,7];
        arr.reverse();

        /*
            sort() 用来对数组进行排序
                - sort()在排序时默认是安装Unicode编码进行排序的
                    即使你数组中的元素是数字，它也是这么做的
                - 如果希望在按照数字的大小进行排序，则可以自己通过回调函数来指定排序规则
         */
        arr = [3,1,2,4,5,6,8,9,7,10];
        // arr = ['c','d','a','e','f','g'];


        arr = [3, 4];
        /*
            sort()中的回调函数，用来指定元素的排列规则
                它会被多次调用，每次调用时会传递数组两个元素作为参数
                    可以定义两个参数来接收元素
                两个元素具体是谁不确定，但能确定的是a在数组中位于b的后边（只适用于新版的Chrome）
                sort会根据回调函数的返回值，来决定两个元素是否交换位置
                    如果返回的是负值，则两个元素会交换位置
                    如果返回的是正值，则两个元素的位置不变
                    如果返回0，表示两个元素的值的相等，位置不变

                在其他的浏览器中，规则和新版的Chrome完全相反，但是使用时没有任何区别
         */

        arr = [3,1,2,4,5,6,8,9,7,10];

        // arr.sort(function (a, b) {
        //     //b,a
        //     // // 希望小的数字在前
        //     // if(a > b){
        //     //     // 后边的数字大于前边的数字
        //     //     return 1;
        //     // }else if(a === b){
        //     //     //两个数字相等
        //     //     return 0;
        //     // }else{
        //     //     // 后边的数字小
        //     //     return -1;
        //     // }
        //
        //
        //     // 希望大的数字在前
        //     if(a > b){
        //         // 后边的数字大于前边的数字
        //         return -1;
        //     }else if(a === b){
        //         //两个数字相等
        //         return 0;
        //     }else{
        //         // 后边的数字小
        //         return 1;
        //     }
        //
        // });

        arr.sort(function (a, b) {
            // 如果返回a-b，则表示数字升序排列
            // return a - b;
            // 如果返回b-a，则表示数字降序排列
            return b - a;
        });

        console.log(arr+'');

    </script>
</head>
<body>

</body>
</html>